<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>OpenBSD CVSync</title>
  <link rev="made" href="mailto:www@openbsd.org">
  <meta name="resource-type" content="document">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta name="description" content="How to get OpenBSD updates via Internet using CVSync">
  <meta name="keywords" content="openbsd,cvsync,updates">
  <meta name="distribution" content="global">
  <meta name="copyright" content="This document copyright 2003-2007 by OpenBSD.">
</head>

<body bgcolor="#FFFFFF" text="#000000" link="#23238E">
  <a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="../images/smalltitle.gif" border="0"></a>

  <h2><font color="#e00000">CVSync</font></h2>
  <hr>

  <h3>目录</h3>

  <ul>
    <li><a href="#CVSync">什么是 CVSync?</a></li>
    <li><a href="#CVS">什么是 CVS?</a></li>
    <li><a href="#starting">开始使用 CVSync</a></li>
    <li><a href="#using">使用 CVS 操作你的版本库</a></li>
    <li><a href="#CVSROOT">可用的 CVSync 服务器</a></li>
  </ul>
  <hr>

  <h3><a name="CVSync"><font color="#0000e0">什么是 CVSync?</font></a></h3>

  <p><b>CVSync</b> 是一个用于从远程服务器主机上 <a
href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&amp;sektion=1">cvs(1)</a>
版本库分发和更新版本库的软件包。OpenBSD 用位于加拿大的一个中心开发机器上的 CVS
版本库维护源代码。使用 CVSync 的 OpenBSD 用户可以容易的保证他们的版本库最新。</p>

  <p><b>CVSync</b> 使用所谓拉模型执行更新。在拉模型中，客户端在需要的时候，
询问服务器以获取更新数据。服务器被动的等待客户端发出更新请求，
因此所有更新由客户端发起，服务器不会主动发送更新数据。用户必须手工运行
<b>CVSync</b> 客户端获取更新数据，或者设置一个 <a
href="http://www.openbsd.org/cgi-bin/man.cgi?query=cron&amp;sektion=8">cron(8)</a>
任务定期自动运行。</p>

  <p>术语 <b>CVSync</b>，大写指代整个软件包。
它的主要组件是运行在每个用户机器上的客户端软件 <tt>cvsync</tt> 和运行于每个
OpenBSD CVSync 镜像站点的服务器软件 <tt>cvsyncd</tt>。</p>

  <p><b>CVSync</b> 被设计为比 <a
href="http://www.openbsd.org/cgi-bin/man.cgi?query=sup&amp;sektion=1&amp;format=html">sup(1)</a>
和 <a href="cvsup.html">CVSup</a> 更快速和灵活。</p>

  <p>OpenBSD 项目当前有 6 个主要的版本库:</p>

  <ul>
    <li><b>src</b> - 存放 OpenBSD 操作系统的全部代码。</li>
    <li><b>ports</b> - 存放 <a href="../ports.html">OpenBSD Ports</a>。</li>
    <li><b>www</b> - 存放全部的 OpenBSD 网页(包括本页)。</li>
    <li><b>X11</b> - 存放 OpenBSD 对
<a href="http://www.XFree86.org/">XFree86-3</a> 项目的移植。它只是用来保留历史，
大多数用户没有理由使用，也不再被使用。
    <li><b>XF4</b> - 存放 OpenBSD 对 XFree86-4 项目移植的源代码。
    <li><b>xenocara</b> - 存放 OpenBSD 活跃开发的 X.org v7 代码树。
  </ul>

  <h3><a name="CVS"><font color="#0000e0">什么是 CVS?</font></a></h3>

  <p>CVS 是用来管理 OpenBSD 源代码的源代码控制系统。它在<a
href="anoncvs.html#CVS">这里</a>有更详细的描述。注意 CVS 和 CVSync
是完全不同的程序。尽管 CVS 可以用来访问远程文件，
但是它没有针对通过网络分发整个版本库优化，CVSync 为此提供了数量级上的优化。</p>

  <h3><a name="starting"><font color="#0000e0">开始使用 CVSync</font></a></h3>

  <p>如果你只关心运行 CVSync，建议你从
<a href="ftp.html">FTP 镜像站点</a>下载软件包，而不是从
<tt>net/cvsync</tt> 构建它。</p>

  <p>想进一步了解 CVSync，参见其
<a href="http://www.cvsync.org/">项目主页</a>。</p>

  <p>为了使用 CVSync 镜像 OpenBSD 版本库，可以使用下述配置文件:</p>
  <pre>
config {
    hostname cvsync.de.openbsd.org

    # If your network link is a T1 or faster, comment out the following line.
    compress

    collection {
        name openbsd release rcs
        prefix /cvs
        errormode fixup
        umask 002
    }

    # collection {
    #     name openbsd-ports release rcs
    #     prefix prefix /cvs
    #     errormode fixup
    #     umask 002
    # }

    # collection {
    #     name openbsd-src release rcs
    #     prefix prefix /cvs
    #     errormode fixup
    #     umask 002
    # }

    # collection {
    #     name openbsd-xenocara release rcs
    #     prefix prefix /cvs
    #     errormode fixup
    #     umask 002
    # }

    # collection {
    #     name openbsd-www release rcs
    #     prefix prefix /cvs
    #     errormode fixup
    #     umask 002
    # }
}
</pre>

  <p>它告诉 cvsync 从 <b>cvsync.de.openbsd.org</b>
更新全部 OpenBSD 版本库，使用 <a
href="http://www.openbsd.org/cgi-bin/man.cgi?query=umask&amp;sektion=2">umask(2)</a>
设置同组用户有写本地版本库的权限。</p>

  <p>假设该文件另存为 <tt>cvs-syncfile</tt>，可以用下面的命令调用 cvsync:</p>
  <pre>
        cvsync -c cvs-syncfile
</pre>

  <h3><a name="using"><font color="#0000e0">使用 CVS 操作你的版本库</font></a></h3>

  <p>现在你有了 CVS 版本库的本地副本，可以在本地象操作远程版本库一样操作，
例如检出、更新，或者其它的 CVS 操作。例如:
  <pre>
        cvs -d/cvs checkout src -P
        cvs -d/cvs up -Pd
        cvs -d/cvs diff -u file.c
</pre>关于 CVS 操作更详细的信息位于 <a href="../faq/faq5.html#BldGetSrc">FAQ5，
获取适当的源代码</a> 和 <a
href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&amp;sektion=1">cvs(1)</a>
手册页。

  <h3><a name="CVSROOT"><font color="#0000e0">可用的 CVSync 服务器</font></a></h3>

  <p>下述 CVSync 服务器可用:</p>
  <p>
  <ul>
    <li><strong>cvsync.de.openbsd.org</strong><br>
    位置: University of Erlangen-Nuremberg, Erlangen, Germany.<br>
    维护者: <a href="mailto:grunk@pestilenz.org">Alexander von Gernler</a>.<br>
    每 2 小时更新一次。<br>
    <p>

    <li><strong>anoncvs1.usa.openbsd.org</strong><br>
    主机别名: <strong>anoncvs.usa.openbsd.org, anoncvs4.usa.openbsd.org</strong>.<br>
    位置: Redwood City, CA, USA.<br>
    维护者: <a href="mailto:millert@openbsd.org">Todd C. Miller</a>.<br>
    每 2 小时更新一次。<br>
    <p>

    <li><strong>anoncvs3.usa.openbsd.org</strong><br>
    位置: National Center for Atmospheric Research, Boulder, CO, USA.<br>
    维护者: <a href="mailto:millert@openbsd.org">Todd C. Miller</a>.<br>
    每 2 小时更新一次。<br>
    <p>

    <li><strong>obsd.cec.mtu.edu</strong><br>
    位置: Michigan Technological University, Houghton, Michigan, USA.<br>
    维护者: <a href="mailto:celinn@mtu.edu">Chris Linn</a>.<br>
    每 2 小时更新一次。<br>
    <p>

    <li><strong>anga.funkfeuer.at</strong><br>
    位置: Vienna, Austria.<br>
    维护者: <a href="mailto:martin@openbsd.org">Martin Reindl</a>.<br>
    每 2 小时从 anoncvs1.usa.openbsd.org 更新一次。<br>
    <p>

    <li><strong>anoncvs.estpak.ee</strong><br>
    位置: Elion, Tallinn, Estonia.<br>
    维护者: <a href="mailto:rix@estpak.ee">Rivo Nurges</a>.<br>
    每 2 小时从 cvsync.de.openbsd.org 更新一次。<br>
    <p>

    <li><a href="http://mirror.osn.de/"><strong>mirror.osn.de</strong></a><br>
    位置: Nürnberg, Germany.<br>
    维护者: <a href="mailto:aw@osn.de">Armin Wolfermann</a>.<br>
    每 4 小时从 anoncvs1.usa.openbsd.org 更新一次。<br>
    <p>

    <li><a href="http://www.allbsd.org/"><strong>cvsync.allbsd.org</strong></a><br>
    位置: Tokyo, Japan.<br>
    维护者: <a href="mailto:hrs@allbsd.org">Hiroki Sato</a>.<br>
    <p>

    <li><a href="http://mirror.sg.depaul.edu/"><strong>mirror.sg.depaul.edu</strong></a><br>
    位置: DePaul University, Chicago, IL, USA.<br>
    维护者: <a href="mailto:mirror-admin@sg.depaul.edu">Eric Pancer</a>.<br>
    每 2 小时更新一次。<br>
    <p>

    <li><a href="http://csociety.org/cvsup.html"><strong>cvsync.csociety.org</strong></a><br>
    位置: Purdue University, West Lafayette, IN, USA.<br>
    维护者: <a href="mailto:will@csociety.purdue.edu">Will Andrews</a>.<br>
    <p>
  </ul>

  <p><em>注意:</em> 如果列在这里的你的服务器的信息不准确或者不清楚，请联系
<a href="mailto:beck@openbsd.org"><tt>beck@openbsd.org</tt></a> 或
<a href="mailto:naddy@openbsd.org"><tt>naddy@openbsd.org</tt></a>。</p>

  <p>你可能想用 <a
href="http://www.openbsd.org/cgi-bin/man.cgi?query=traceroute&amp;sektion=8">traceroute(8)</a>
来找出距离你最近的服务器。当发现服务器有问题请报告给我们的<b>维护者</b>。</p>

  <p>在2008年3月，CVS 版本库的大小是:</p>

<table>
<tr><td width="20"></td>
    <td><strong>OpenBSD-ports</strong></td>
    <td>- <b>340</b>MB</td></tr>
<tr><td></td>
    <td><strong>OpenBSD-src</strong></td>
    <td>- <b>1520</b>MB</td></tr>
<tr><td></td>
    <td><strong>OpenBSD-www</strong></td>
    <td>- <b>350</b>MB</td></tr>
<tr><td></td>
    <td><strong>openbsd-xenocara</strong></td>
    <td>- <b>590</b>MB</td></tr>
<tr><td></td>
    <td><strong>OpenBSD-xf4</strong></td>
    <td>- <b>580</b>MB</td></tr>
<tr><td></td>
    <td><strong>OpenBSD-x11</strong></td>
    <td>- <b>210</b>MB</td></tr>
<tr><td></td>
    <td><strong>OpenBSD-cvsroot</strong></td>
    <td>- <b>620</b>MB</td></tr>
</table>

  <p>全部版本库的大小为 4.2GB，以每年 <b>400</b>MB 的速度增长。</p>

  <p><strong>重要说明:</strong> 有一些与加密软件相关的问题每个人都应该注意:</p>

  <ul>
    <li>
      <p>OpenBSD 源代码出自加拿大。根据<a
href="http://www.efc.ca/pages/doc/crypto-export.html">加拿大个人研究</a>和<a
href="http://axion.physics.ubc.ca/ECL.html">加拿大输出控制列表</a>的描述，
从加拿大向世界各地输出加密软件是合法的。</p>
    </li>


    <li>
      <p>然而，如果你不在美国或加拿大，你不应该从位于美国的 CVSync 服务器上获取
OpenBSD 源代码的加密软件部分。可能有问题的文件是...</p>

      <ul>
        <li><tt>src/kerberosIV/*</tt></li>
        <li><tt>src/kerberosV/*</tt></li>
        <li><tt>src/lib/libdes/*</tt></li>
        <li><tt>src/lib/libc/crypt/crypt.c</tt></li>
        <li><tt>src/lib/libc/crypt/morecrypt.c</tt></li>
        <li><tt>src/sys/crypto</tt></li>
        <li><tt>src/sys/netinet</tt></li>
        <li><tt>src/usr.sbin/afs/src/rxkad/*</tt></li>
        <li><tt>XF4/xc-mit/lib/Xdmcp/Wraphelp.c</tt></li>
        <li><tt>XF4/xc-old/lib/Xdmcp/Wraphelp.c</tt></li>
        <li><tt>XF4/xc/lib/Xdmcp/Wraphelp.c</tt></li>
      </ul>

      <p>由于美国 ITAR 军用品列表，加密软件只能从美国输出到加拿大。</p>
    </li>
  </ul>

  <p>OpenBSD 项目正在寻求更多的 CVSync 服务器 -- 如果你有兴趣，请与
<a href="mailto:naddy@openbsd.org">Christian Weisgerber</a>
联系以获得详细的配置信息。</p>
  <hr>
  <a href="index.html"><img height="24" width="24" src="../back.gif" border="0" alt="OpenBSD"></a>
<a href="mailto:www@openbsd.org">www@openbsd.org</a>
<br><small>$OpenBSD: cvsync.html,v 1.54 2008/06/17 14:04:17 tobias Exp $</small>

</body>
</html>
<!--
Originally [OpenBSD: cvsync.html,v 1.54 ]<br>
$Translation: cvsync.html,v 1.16 2008/06/24 08:30:33 dongsheng Exp $<br>
-->
